package com.shujia.day09.bao2;

/*
    返回值
        基本类型: 当基本数据类型作为方法的返回值类型的时候，方法中return具体类型的数值即可
        引用类型:
            数组：当数组作为方法的返回值类型的时候，将来需要在方法中return该一个数组的地址值
            具体的类：当类作为方法的返回值类型的时候，将来需要在方法中return该一个该类的对象
            抽象类：当抽象类作为方法的返回值类型的时候，将来需要在方法中return该一个该类的具体子类对象
            接口：
 */

abstract class Student2{
    public abstract void fun1();
}

class Student2Zi extends Student2{
    @Override
    public void fun1() {
        System.out.println("好好学习，天天向上！");
    }
}

class StudentDemo2{
    //当抽象类作为方法的返回值类型的时候，将来需要在方法中return该一个该类的具体子类对象
    public Student2 show1(){
        return new Student2Zi();
    }
}

public class Demo2 {
    public static void main(String[] args) {
        StudentDemo2 studentDemo2 = new StudentDemo2();
        Student2 s1 = studentDemo2.show1(); //Student2 s1 = new Student2Zi()
        s1.fun1();
    }
}
